Dubinin Viktor Nikolaevich, Doctor of engineering sciences, professor, sub-department of computer engineering, Penza State University (40 Krasnaya street, Penza, Russia), E-mail: email@example.com
Bezzateev Igor' Andriyanovich, Engineer, Penza Electrotechnical, Research Institute (9 Sovetskaya street, Penza, Russia), E-mail: firstname.lastname@example.org
Voynov Artem Sergeevich, Master’s degree student, Penza State University (40 Krasnaya street, Penza, Russia), E-mail: email@example.com
Senokosov Il'ya Vladimirovich, Master’s degree student, Penza State University (40 Krasnaya street, Penza, Russia), E-mail: firstname.lastname@example.org
Background. The international standard IEC 61499, intended for the design of distributed component-based industrial process measurement and control systems, does not allow the direct building of ones with complex types of synchronization and interactions, most of which are based on the concept of a semaphore. The purpose of the presented work is modeling, verification and comparative analysis of the performance of distributed semaphores based on the Paxos and Raft protocols, as well as their IEC 61499 function block-based implementation.
Materials and methods. To design distributed semaphores, Paxos and Raft protocols for solving consensus in a network of unreliable processors were used. For their formal description, modeling and simulation, the colored Petri nets and the supporting CPN Tools were chosen. The distributed semaphores were implemented on the basis of IEC 61499 function blocks in the NxtStudio.
Results. 1) Net models of algorithms for performing decrementing/incrementing distributed semaphores based on Paxos and Raft were developed in the CPN Tools allowing to conduct both performance evaluation and verification; 2) simulation experiments were carried out using these net models, comparative analysis of the approaches based on Paxos and Raft, as well as recommendations for their use were given; 3) a library of function blocks for implementation of Paxos and Raft, as well as distributed semaphores based on them were developed, which makes it possible to essentially expand capabilities for design of distributed control applications with complex interactions in the IEC 61499 architecture.
Conclusions. The results of the simulation experiments and software implementation showed the operability and correctness of the functioning of distributed semaphores on the basis of the two protocols for solving consensus. The use of the Raft protocol is preferred both in terms of ease of implementation and scalability, as well as reliability.
1. Dubinin V. N., Vyatkin V. V. Modeli funktsional'nykh blokov IEC 61499, ikh proverka i transformatsii v proektirovanii raspredelennykh sistem upravleniya: monografiya [Models of functional blocks IEC 61499, their control and transfromations in the design og distributed control systems: monograph]. Penza: Izd-vo PGU, 2012, 348 p.
2. Endryus G. R. Osnovy mnogopotochnogo, parallel'nogo i raspredelennogo programmirovaniya: per. s angl. [Fundamentals of multithreaded, parallel and distributed programming: translation from English]. Moscow: Vil'yams, 2003, 505 p.
3. Vashkevich N. P., Biktashev R. A., Gurin E. I. Izvestiya vysshikh uchebnykh zavedeniy. Povolzhskiy region. Tekhnicheskie nauki [University proceedings. Volga region. Engineering sciences]. 2007, no. 2, pp. 3–12.
4. Yuan S.-M., Wu C.-J., Lien H.-M., Chen I.-N. Third Workshop on Future Trends of Distributed Computing Systems. Taiwan, 1992, pp. 180–184.
5. Dubinin V. N. Vychislitel'nye sistemy i tekhnologii obrabotki informatsii: mezhvuz. sb. nauch. tr. [Computing systems and technologies of information processing: interuniversity collected papers]. Penza: Izd-vo PGU, 2005, iss. 3 (29), pp. 65–71.
6. Dubinin V. N. Detsentralizovannoe upravlenie raspredelennymi dannymi v lokal'noy vychislitel'noy seti: spetsifikatsiya, modelirovanie, realizatsiya i primenenie v raspredelennykh vychisleniyakh [Decentralized control of distributed data in a local computing network: specification, simulation, realization and application in distributed computations]. Penza, 1997, 78 p. Dep. V VINITI 10.06.97, no. 1946-V97.
7. Ramachandran M., Singhal M. Technical Report OSU-CISRC-6/94-TR34. Ohio: The Ohio State University Computer and Information Science Research Center, 1994, 20 p.
8. Lamport L. ACM Transactions on Computer Systems. 1998, vol. 16, iss. 2, pp. 133–169.
9. Ongaro D., Ousterhout J. Proc. USENIX Annual Technical Conference. Philadelphia, 2014, pp. 305–320.
10. Junqueira F. P., Reed B. ZooKeeper: Distributed Process Coordination. Sebastopol, United States: O’Reilly Media, 2013, 246 p.
11. Jensen K., Kristensen L. M. Coloured Petri Nets. Modelling and Validation of Concurrent Systems. New York: Springer Publishing Company, 2009, 384 p.
12. CPN Tools. Available at: http://cpntools.org/
13. NxtStudio. Available at: http://www.nxtcontrol.com/